/*
* @Author: asus
* @Date:   2017-05-16 21:23:04
* @Last Modified by:   asus
* @Last Modified time: 2017-05-31 11:30:57
*/

'use strict';
require(["jquery-1.11.3","sasaPublic","cookie"],function(){
	$(function(){
		//全部商品分类显示影藏
		$(".navList").hover(function(){
			$(this).children('ul').slideDown('slow');
		}, function(){
			$(this).children('ul').slideUp('slow');
		});
		//详情图片轮播
		$(".listLunbo>li").each(function(index, el) {
			console.log($(".listLunbo>li").length);
			$(this).hover(function() {
				$("#small>img").attr('src', "../images/detail"+(index+1)+"m.jpg");
				$("#big>img").eq(index).css('z-index', '2');
				$("#big>img").eq(index).siblings().css('z-index', '1');
				
				$(this).css({
					"border": '3px solid #e5cbb2'
				});
				$(this).siblings().css({
					"border": '1px solid #ddd'
				});
			});
		});
		//放大镜效果
		$(".detail_tbl2mm").mouseenter(function() {
			
			$('.detail_tbl2m').css('display', 'block');
			$('.detail_tbl2b').css('display', 'block');
		});
		$(".detail_tbl2mm").mouseleave(function() {
			$('.detail_tbl2m').css('display', 'none');
			$('.detail_tbl2b').css('display', 'none');
		});
		var smallCopy = document.getElementById("smallCopy");
		var big = document.getElementById("big");
		var mask = document.getElementById("mask");
		//var smallImg = document.getElementById("Img0");
		 var bigImg = document.getElementsByClassName("Img");
		var x = 0;
		var y = 0;
		$(".detail_tbl2mm").mousemove(function(evt){
			var e = evt || window.event;
			x = e.clientX - this.offsetParent.offsetLeft- mask.offsetWidth/2
			y = e.pageY - 419 - mask.offsetHeight/2
			console.log(x);
			 console.log(y);
			if(x < 0){
				x = 0;
			}
			if(x > small.offsetWidth - mask.offsetWidth){
				x = small.offsetWidth - mask.offsetWidth;
			}
			if(y < 0){
				y = 0;
			}
			if(y > small.offsetHeight - mask.offsetHeight){
				y = small.offsetHeight - mask.offsetHeight;
			}

			console.log(x);
			console.log(y);
			mask.style.left = x + "px";
			mask.style.top = y + "px";
			console.log(mask.style.left);
			console.log(mask.style.top);
			for(var i = 0; i < bigImg.length;i++){
				bigImg[i].style.left = -x * big.offsetWidth/small.offsetWidth + "px";
			 	bigImg[i].style.top = -y * big.offsetHeight/small.offsetHeight + "px";
			}
			 
		});
		//点击左右按钮，图片左右滑动显示
		$(".detail_btnL").click(function(event) {
			$(".listLunbo").animate({"left":"0"}, 400)
		});
		$(".detail_btnR").click(function(event) {
			$(".listLunbo").animate({"right":"0"}, 400)
		});
		//详情特卖倒计时
		var endTime = new Date("2017/06/04 00:00:00");
		setInterval(clock, 1000);
		function clock(){
			var nowTime = new Date();
			var second = parseInt((endTime.getTime() - nowTime.getTime()) / 1000);
	        var d = parseInt(second / 3600 / 24);
	        var h = parseInt(second / 3600  - d * 24)
	        var m = parseInt(second / 60 - h * 60 - d * 60 * 24 );
	        var s = parseInt(second  - m * 60 - h * 3600 - d * 3600 * 24); 
	        d < 10 ? d = "0" + d : d;
	        h < 10 ? h = "0" + h : h;
	        m < 10 ? m = "0" + m : m;
	        s < 10 ? s = "0" + s : s;
	        $(".detailTime>span").html("特卖进行中，完结时间剩余"+ d + "天 " + h + "小时 " + m + "分钟 " + s + "秒");
		}
		//当滚动轴滚动到详情列表的时候，进行定位
		var h = 934;
		$(window).scroll(function(event) {
			//商品详情tab切换
			$(".detail_br1>a").eq(0).click(function(event) {
				$(document).scrollTop(934)
				$(".detail_br2").scrollTop();
				$(".detail_br1>a").eq(0).css({
					"border-bottom": '4px solid #c69a62'
				});
				$(".detail_br1>a").eq(0).siblings().css({
					"border-bottom": 'none'
				});
			});
			$(".detail_br1>a").eq(1).click(function(event) {
				$(document).scrollTop(1250);
				$(".detail_br3").scrollTop();
				$(".detail_br1>a").eq(1).css({
					"border-bottom": '4px solid #c69a62'
				});
				$(".detail_br1>a").eq(1).siblings().css({
					"border-bottom": 'none'
				});	
			});
			$(".detail_br1>a").eq(2).click(function(event) {
				$(document).scrollTop(4446);
				$(".detail_br4").scrollTop();
				$(".detail_br1>a").eq(2).css({
					"border-bottom": '4px solid #c69a62'
				});
				$(".detail_br1>a").eq(2).siblings().css({
					"border-bottom": 'none'
				});	
			});
			$(".detail_br1>a").eq(3).click(function(event) {
				$(document).scrollTop(6710);
				$(".detail_br5").scrollTop();
				$(".detail_br1>a").eq(3).css({
					"border-bottom": '4px solid #c69a62'
				});
				$(".detail_br1>a").eq(3).siblings().css({
					"border-bottom": 'none'
				});	
			});
			//到达固定高度进行定位
			var docScrollTop = $(document).scrollTop();
			if(docScrollTop>=h){
				$(".detail_br1").css({
					"position": 'fixed',
					"top": '0',
					"box-shadow":"5px 5px 5px #aaa"
				});
				$(".detail_br2").css({
					"margin-top": '56'
				});
			}else{
				$(".detail_br1").css({
					"position": 'static',
					"box-shadow":"0px 0px 0px "
				});
			}

		});
		
		//将商品加入购物车中
		//加载已有的购物车信息
		
		//给购物车按钮加一个点击事件
		var inCar = document.getElementById("inCar");
		inCar.onclick = function (){
			location.href = "sasaShopping.html";
		};
		//给增加按钮添加事件
			$(".plus").click(function() {
				var id = $(this).parents('.detail_trdd3').parent("#idNumber").attr("data-good-id");
				var cartStr = getCookie("cart") ? getCookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				cartObj[id].num += 1;
				//alert(cartObj[id].num)
				//将页面上显示的数量加1
				$(this).siblings("span").html("" + cartObj[id].num);
				//更新页面上的小计
				// $(this).parents('.cartList_dd3').siblings('.cartList_dd4').html(cartObj[id].num * cartObj[id].price + "");
				//将信息放回cookie
				setCookie('cart', convertObjToCartStr(cartObj), {
					expires: 7,
					path: "/"
				});
			});
			//给减按钮添加点击事件
			$(".minus").click(function(){
				var id = $(this).parents('.detail_trdd3').parent("#idNumber").attr("data-good-id");
				var cartStr = getCookie("cart") ? getCookie("cart") : "";
				var cartObj = convertCartStrToObj(cartStr);
				if(cartObj[id].num > 1){ //商品数量减少不能少于1
					cartObj[id].num -= 1;
					//将页面上显示的数量减1
					$(this).siblings("span").html("" + cartObj[id].num);
					//更新页面上的小计
					//$(this).parents('.cartList_dd3').siblings('.cartList_dd4').html(cartObj[id].num * cartObj[id].price + "");
					//将信息放回cookie
					setCookie('cart', convertObjToCartStr(cartObj), {
						expires: 7,
						path: "/"
					});
				}
			});
		//给加入购物车按钮添加点击事件
		 var toCar = document.getElementById("toCar");
		 toCar.onclick = function(){

		 	//获取商品的id（用来区分不同的商品）
		 	//alert(inCar.innerHTML);
			var goodId = document.getElementById("idNumber").getAttribute("data-good-id");
			//goodId.getAttribute("data-good-id");
			//获取商品的名称
			var goodName = document.getElementById("goodsName").innerText;
			//获取商品的价格
			var goodPrice = parseFloat(document.getElementById("goodsPrice").innerHTML);
			//获取商品的图片src
			var goodSrc = document.getElementById("carLogo").src;
			//alert(goodSrc)
			
			// num++;
			//获取cookie中的信息
			//如果cookie中没有信息会返回一个undefined ,我所须是一个字符串类型的数据，所以将它转成一个“”空字符串。保持数据类型一致。
			var cartStr = getCookie("cart") ? getCookie("cart") : "";
			//将字符串转成对象
			var cartObj = convertCartStrToObj(cartStr);
			alert("商品添加成功，可点击右侧购物车进行查看");
			//判断该商品是否已经在购物车中存在
			if(goodId in cartObj){
				//如果已存在，那么该商品的数量加1
				cartObj[goodId].num += 1;
				console.log(cartObj[goodId].num);
			}else{
				//如果不存在，那么将新商品的信息存入
				cartObj[goodId] = {
					name : goodName,
					price : goodPrice,
					num : 1,
					src : goodSrc
				};
				
			}
			inCar.innerHTML = cartObj[goodId].num;
			// inCar.innerHTML = num;
			//将新的购物车信息存回cookie
			//将对象转为字符串
			cartStr = convertObjToCartStr(cartObj);
			//存入cookie;
			setCookie("cart",cartStr,{expires : 7,path:"/"});
			console.log(decodeURIComponent(document.cookie));
		 };
		 
	});


	function convertCartStrToObj(cartStr){
		//如果是空字符串，即没有购物车信息，那么购物车为空，直接返回一个空对象
		if(!cartStr){
			return {};
		}
		var goods = cartStr.split(":");
		var obj = {};
		for(var i = 0; i < goods.length; i ++){
			var data = goods[i].split(",");
			//以商品的id为健，商品的其他信息为值，这个值也设计为一个对象
			obj[data[0]] = {
				name : data[1],
				price : parseFloat(data[2]),
				num : parseInt(data[3]),
				src : data[4]
			}
		}
		return obj;
	}
	function convertObjToCartStr(obj){
		var cartStr = "";
		//遍历对象
		for(var id in obj){
			if(cartStr){
				cartStr += ":";
			}
			cartStr += id + "," + obj[id].name + "," + obj[id].price + "," + obj[id].num + "," + obj[id].src;
		}
		return cartStr;
	}
})
